In addition to that, remove the ClutterBoxLayout that is set as
the layout manager of the Unlock Dialog, and apply the primary
monitor constraint to the child St.BoxLayout instead.
The use of the core idle monitor means that focus change events
are also delayed by keyboard interaction. Since the magnifier is
already in the business of pointer tracking, it's easy enough to
fire the pointer rest timeout from here, so focus changes are
accumulated and delayed.
Carlos Garnacho [Thu, 6 Feb 2020 09:56:44 +0000 (10:56 +0100)]
magnifier: Ignore repeated a11y events
We may get several a11y events setting the caret on the same
coordinates it previously was. Make focus tracking ignore those,
as we're jumping to the same coordinates again during eg. mouse
operation.
Carlos Garnacho [Thu, 6 Feb 2020 09:38:50 +0000 (10:38 +0100)]
magnifier: Clip all crosshair lines at even distances
If the crosshair is clipped so it doesn't cover the pointer cursor,
the clip rectangle is skewed towards the bottom/right. This was
made so to accomodate the default pointer, but the unevenness stays
on other pointer cursors, and it makes the crosshair look odd on
short crosshair length.
Make all lines clip to an even distance from the center instead.
Carlos Garnacho [Thu, 6 Feb 2020 09:33:27 +0000 (10:33 +0100)]
magnifier: Apply color inversion to crosshairs/pointer
It is somewhat unexpected that crosshair color and pointer cursor colors
remain the same across changes in color inversion settings, and may lead
to contrast issues. Apply the effect on the common container, so it
applies to these all.
Daniel van Vugt [Wed, 22 Jan 2020 08:40:50 +0000 (16:40 +0800)]
dnd: Make DND translation-property-aware
Previously DND only worked properly for actors with zero translation.
But it only requires a small tweak to `this._dragOffsetX/Y` to support
non-zero translation values.
nana-4 [Thu, 6 Feb 2020 13:08:33 +0000 (22:08 +0900)]
theme/calendar: Don't nest all card styles for code consistency
The inconsistent styling rules "some card styles are nested, but some
are not" and "some card styles are nested, but some of their descendant
styles are defined elsewhere" are very confusing.
This commit stops nesting all card styles to make the coding style
consistent and less confusing.
nana-4 [Thu, 6 Feb 2020 12:42:13 +0000 (21:42 +0900)]
theme: Adjust calendar popover sizing
- Remove bottom blank space on the right column of the calendar popover
so that the weather card is bottom-aligned with the clear button on
the left column.
- Remove top blank space on the left column of the calendar popover so
that the message list is top-aligned with the today button on the
right column.
- Adjust .message-list-controls sizing to align with other card-styled
elements.
- Use regular `spacing` instead of margin for some spacing.
nana-4 [Tue, 4 Feb 2020 16:15:27 +0000 (01:15 +0900)]
theme: Simplify .message styling
- Use fewer properties for layout.
- Use .message-body instead of .message-content to change the body
color, and remove some color overrides.
- Fix border-radius for last .message-media-control, not only on hover.
nana-4 [Tue, 4 Feb 2020 16:03:05 +0000 (01:03 +0900)]
theme: Apply spacing to .overview-icon-with-label correctly
- Remove margin-bottom for StIcon, which is not only ineffective, but
also created a bug in app folders.
- Remove ">" which is invalid for overview icons that are not app
folders.
- Apply spacing to the correct target "StBoxLayout", not the parent
.overview-icon.overview-icon-with-label.
texture-cache: Fix invalid reads when storing used resource scales
The used_scales hash table uses g_double_hash and g_double_equal which
try to read a double from the passed pointers. The pointers however were
pointing to a float, leading to an invalid read.
The portal helper is rather sensitive because potentially-hostile Wi-Fi
networks can decide to launch it whenever they want (by blocking the
user's connection to the nmcheck domain) and load whatever web content
they want into it. So having this unsandboxed is really extraordinarily
risky. Previously it was a risk we had to accept, because WebKit did not
have a web process sandbox, but now it does. So let's bubblewrap all the
things!
Jakub Steiner [Wed, 5 Feb 2020 16:30:42 +0000 (17:30 +0100)]
theme: revert app grid button styling
- the plan was to drop the frequent/all view switcher, thus sam didn't
pay too much attention to the button styling for those. Sadly the view
switcher remains, so we should keep the old subtle styling intact.
Carlos Garnacho [Wed, 5 Feb 2020 15:49:34 +0000 (16:49 +0100)]
magnifier: Use core idletime monitor
As it's getting the idletime monitor for the seat pointer, boils
down to about the same thing. We are moving away from per-device
idletime monitors though.
Florian Müllner [Tue, 4 Feb 2020 01:35:43 +0000 (02:35 +0100)]
status/system: Fix session submenu visibility
Commit 147a743d8d7 moved the suspend and power-off actions into
the submenu that contains the log-out and switch-user actions,
but did not update the submenu visibility logic to account for
the additional actions.
As a result, the submenu is hidden when log-out and switch-user
are unavailable (like on the login screen), even if suspend and
power-off are enabled.
Florian Müllner [Sun, 26 Jan 2020 23:47:18 +0000 (00:47 +0100)]
extensionPrefs: Schedule updates check on activate
While gnome-shell will now check for extension updates, the checks
are performed infrequently. Opening the Extensions app implies that
the user's current focus is on extensions, so it is an appropriate
time to schedule another updates check.
Florian Müllner [Sun, 26 Jan 2020 23:59:19 +0000 (00:59 +0100)]
extensionSystem: Periodically check for extension updates
Now that we can download, apply and display extension updates, it is time
to actually check for updates. Schedule an update check right on startup,
then every 24 hours.
Florian Müllner [Sat, 30 Nov 2019 07:08:05 +0000 (08:08 +0100)]
extensionPrefs: Split user and system extensions
Until now, it didn't matter whether an extension was installed in the
user's home or system-wide. However with support for uninstallation,
there is now a significant different, as that action is only available
for user extensions.
Account for that by separating extensions by type, so that users don't
have to second-guess which extensions can be fully-managed and which
appear as part of the system.
Florian Müllner [Sat, 30 Nov 2019 17:11:03 +0000 (18:11 +0100)]
extensionPrefs: Include more extension details in expander
The newly added expander gives us a place where we can display
more details without cluttering the interface.
Take advantage of that by including the extension website, version
and author.
(Author is in the mockups, but will not actually be shown until
the extensions website is changed to include it in its metadata;
however best to have UI and string in place for the freezes)
Florian Müllner [Fri, 24 Jan 2020 01:02:10 +0000 (02:02 +0100)]
extensionPrefs: Move description into a expander
The description can be useful information, but also increases the
visual complexity of the extensions list. Move it into a hidden
details area that can be expanded, which unclutters the interface
while keeping the information readily available.
Florian Müllner [Sat, 30 Nov 2019 03:24:39 +0000 (04:24 +0100)]
extensionPrefs: Use actions for row controls
Actions are another mean to separate state and interactions from
the UI. Start using them for the existing controls before adding
more in follow-up commits.
Florian Müllner [Fri, 24 Jan 2020 18:00:37 +0000 (19:00 +0100)]
extensionPrefs: Add info popover to headerbar
Extensions can have a major impact on stability and performance. Now that
the tool will become the main way for users to manage their extensions, it
is an appropriate place to warn the user of that risk.
Add a small info popover to the headerbar to display that warning, together
with the previously removed hint of where to go for finding new extensions.
Florian Müllner [Sat, 30 Nov 2019 06:27:48 +0000 (07:27 +0100)]
extensionPrefs: Don't fill view
Extension rows contain both name/description and controls to
open preferences and enable/disable the extension. Those
elements become disassociated when the row expands too much
horizontally, so instead of filling the entire view, switch
to the embedded list style[0].